Contextually-aware recommendation and translation engine

ABSTRACT

The present disclosure involves systems, software, and computer implemented methods for presenting recommendations for suggested activities. One example method includes receiving a first signal from a device that includes a current context of the device that includes location information for the device. The device is associated with a particular profile. A preferred language associated with the device is determined from the profile. The profile is analyzed to determine a contextual activity preference associated with the device. A repository of establishment information is searched to identify an activity that matches the current context associated with the device and the contextual activity preference. An activity description of the identified activity is translated from a foreign language to the preferred language to create a translated activity description. A second signal is transmitted to the device that includes the translated activity description for presentation at the device.

CROSS-REFERENCE TO RELATED PATENT APPLICATIONS

This application is a continuation of and claims the benefit of priorityto U.S. patent application Ser. No. 15/649,355, filed Jul. 13, 2017, thecontents of which are incorporated by reference herein.

TECHNICAL FIELD

The present disclosure relates to computer-implemented methods,software, and systems for presenting recommendations for suggestedactivities.

BACKGROUND

Location-based services can be used to enhance mobile applications. Forexample, information presented by an application or processing performedby an application can be based on or influenced by the location of amobile device. As a specific example, advertising presented in anapplication can be based on a mobile device's location. For example, anadvertisement for an establishment can be presented in an application inresponse to a detection that the mobile device is within a thresholdradius of the establishment.

SUMMARY

The present disclosure involves systems, software, and computerimplemented methods for presenting recommendations for suggestedactivities. One example system includes a communications module, atleast one memory storing instructions, a plurality of profiles, arepository of establishment information including descriptions ofactivities that are available to be performed at a plurality ofgeographic locations, and at least one hardware processor interoperablycoupled with the at least one memory. The instructions instruct the atleast one hardware processor to: receive a first signal via thecommunications module from a device, the first signal including acurrent context associated with the device including at least locationinformation for a geographic location of the device, the deviceassociated with a particular profile in the plurality of profiles;determine, from the particular profile, a preferred language associatedwith the device; analyze the particular profile to determine at leastone contextual activity preference that matches the current contextassociated with the device; in response to receiving the first signal,search the repository of establishment information based on the locationinformation, the current context associated with the device, and the atleast one determined contextual activity preference to identify at leastone activity in response to the search, the at least one identifiedactivity matching the current context associated with the device and theat least one determined contextual preference, the at least oneidentified activity associated with at least one activity description ina foreign language different than the preferred language associated withthe device; translate the at least one activity description of the atleast one identified activity from the foreign language to the preferredlanguage to create at least one translated activity description; andtransmit, via the communications module, a second signal to the device,the second signal including the at least one translated activitydescription for presentation at the device.

While generally described as computer-implemented software embodied ontangible media that processes and transforms the respective data, someor all of the aspects may be computer-implemented methods or furtherincluded in respective systems or other devices for performing thisdescribed functionality. The details of these and other aspects andembodiments of the present disclosure are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages of the disclosure will be apparent from the description anddrawings, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an example system for presentingrecommendations for suggested activities.

FIG. 2 is a flowchart of an example method for providing arecommendation for presentation on a user device.

FIG. 3 is a flowchart of an example method for facilitating the orderingof a recommended product.

FIGS. 4A-4C are example user interfaces for presenting an activityrecommendation.

FIGS. 4D and 4E are example conversational user interfaces.

FIG. 5 is a flowchart of an example method for providing arecommendation for a suggested activity.

FIG. 6 is a flowchart for presenting a recommendation for a suggestedactivity.

DETAILED DESCRIPTION

Users of applications, such as a mobile apps related to financial orlifestyle tracking, can have routines of activities that they regularlyperform that they find enjoyable. For example, a user may often makecertain kinds of purchases at certain kinds of establishments, performcertain kinds of activities at certain kinds of venues, or perform acertain action, transaction, or activity in response to a particularevent or at a certain time of day. The user may have found certain typesof transactions and activities near to their regular places of work orresidence or commute that they find enjoyable. Such activities can bereferred to as “comforts of home.” A user may like to purchase a certaintype of coffee at a certain time of day, for example.

The user may not know how to find such comforts of home while travelingin a foreign location or another location away from their normal areasof activities. For example, a brand of vendor of the type of goods thatthe user frequents may not be available at and/or located in the foreignlocation. As another example, the user may not know which other vendorsoffer similar offerings. The user may not speak the foreign language,for example, and may not easily be able to find suitable vendors. If avendor is found, the user may have difficulty communicating with thevendor due to not knowing the foreign language.

To solve these issues for the user and to provide the user familiarcomforts of home while traveling, the system described herein canprovide a recommendation engine that can identify vendors who offerproducts or activities similar to those the user is accustomed toenjoying (e.g., in type and quality). For example, after the userarrives in a foreign country, the system can detect the location andidentify that a local language is different from the user's preferredlanguage. The system can also detect, based on analyzed transaction dataassociated with the user and associated with a user profile, that theuser has a preference of having a particular type of coffee at aparticular time of day (e.g., late morning). The system canautomatically recognize that the particular time of day is approachingwithout user input and can generate and provide for presentation arecommendation for the user for where the user may be able to purchasethe type of coffee that the user enjoys, such as through a pushnotification on a mobile device (e.g., via a mobile app), a text ormultimedia message (e.g., SMS or MMS), or any other suitable indicationor presentation.

The system can search for nearby establishments that are similar tocoffee shops the user usually orders from (e.g., in price and quality),select a particular coffee shop that matches the search, and generateand provide for presentation a recommendation for the user to visit thecoffee shop. The user can accept the recommendation and view informationabout the coffee shop, such as location, directions, hours of operation,etc. Based on additional location-based information from a device of theuser, the system can detect that the user has arrived at the coffee shopand present a menu of items that are available at the coffee shop. Thecoffee shop offerings can be translated from local menu information(e.g., as found on a website of the coffee shop) in the local languageto the preferred language of the user. The user can select an item toorder, and the system can assist in placing the order, such as bypresenting a local language version of a description of the item or bygenerating and providing an audio description of the user-selected orderin the local language. In general, the system can assist the user withall facets of the transaction of ordering from a local vendor in thenon-preferred language. For example, the system can assist with othertranslation tasks (e.g., modifying an order), payment (e.g., advice onmanual payment or performing automatic electronic payment), tipping,directions, or obtaining vendor information (reviews, itemdescriptions), among others.

By providing recommendations and assisting the user with foreignestablishment transactions, the system can improve relationships betweenthe system and users and increase a positive association that users mayhave with the system or a brand associated with or providing the system.Users are able to enjoy comforts of home while traveling, even whentraveling in unfamiliar locations with unfamiliar languages.

FIG. 1 is a block diagram illustrating an example system 100 forpresenting recommendations for suggested activities. Specifically, theillustrated system 100 includes or is communicably coupled with a server102, a client device 104, a network 106, a transaction data provider107, an establishment system 108, a translation service 109, a foreignbusiness directory service 110, establishment information sources 111,and a payment system 112. Although shown separately, in someimplementations, functionality of two or more systems or servers may beprovided by a single system or server. In some implementations, thefunctionality of one illustrated system or server may be provided bymultiple systems or servers. Any combination or permutation of systemsmay perform the functionality described herein.

A user of the client device 104 may want comforts of home whiletraveling, but may not know which foreign vendors provide products orservices to which the user is accustomed. The user may, while in aforeign location, use a client application 114 to send a recommendationrequest to the server 102. In some instances, user-modifiable or defaultsettings of the client application 114 may be such that the clientapplication 114 may run in the background of the client device 104without user interactions or specific recommendation requests. Therecommendation request can include location information for the clientdevice 104, such as location information provided by a GPS receiver 116included in the client device 104, IP address information, cellular ornetwork information that may be used to determine location, or any otherlocation. As another example, the client application 114 can beconfigured to automatically and periodically send a recommendationrequest that includes location information to a recommendation engine118 included in or otherwise associated with the server 102. Therecommendation engine 118 can automatically detect when a user istraveling based on the location information or other contextual userinformation (e.g., based on information from a calendar associated withthe user, based on previously purchased travel plans or tickets, etc.),and in response to determining that the user is traveling and that arecommendation is prudent based on the user's history and/or specificrequest, automatically provide one or more recommendations for displayin the client application 114, in a recommendation UI (User Interface)119. The recommendation engine 118 can be or include one or more of auser-based collaborative filtering engine, a content-basedrecommendation engine, a matrix factorization engine, or an item-basedcollaborative filtering engine.

For example, a context detector 120 included in the recommendationengine 118 can automatically determine that the received locationinformation corresponds to a foreign location for the user (e.g.,relative to their normal or known locations and/or relative to theuser's preferred language as compared to local language(s) correspondingto the received location information). The context detector 120 canidentify or determine a preferred language of the user, such as byretrieving preferred language information associated with a profileassociated with the user and/or the client device 104 stored in one of aplurality of profiles 122 at or associated with server 102. The contextdetector 120 can determine one or more local languages and/or dialectsat the user's current location based on the received locationinformation for the client device 104 (such as from language/localeinformation 123), and can determine that the user's preferred languagedoes not match the local language(s). Based on the non-match oflanguages, the context detector 120 can determine that the user istraveling in a foreign location in which they may not know or becomfortable speaking or interacting with the language.

In some implementations, the context detector 120 determines a distancebetween received location information for the client device 104 andpreviously received location information for the client device 104 orfrom a home or standard location associated with the user. The contextdetector 120 may perform a language difference check in response todetermining that the distance is more than a threshold amount, forexample. In some implementations, some travel detection processing isperformed on the client device 104. For example, the client application114 can be configured to detect a change in a location of the clientdevice 104 that is more than a threshold different than a user's homelocation or a previously known location associated with the clientdevice 104. If a current location of the client device 104 is more thana threshold different than a previously known location of the clientdevice 104, the client application 114 can be configured to send arecommendation request to the server 102.

The context detector 120 can determine other context associated with arecommendation request. For example, the context detector 120 candetermine a time of day, a time of year, a season, a day of week, a timeof month, etc., associated with a time of the recommendation request. Insome instances, the context detector 120 can determine a local time andseason for the current location of the user and client device 104.

In response to determining that the user is traveling in or is currentlyat a location that has a local language different from the user'spreferred language, the recommendation engine 118 can analyze theprofile 122 that is associated with the client device 104 and/or theuser of the client device 104 to determine one or more contextualactivity preferences that are associated with the profile 122. Acontextual activity preference can indicate an activity (e.g., purchase,use of a service, going to a particular type of facility, or performingsome other type of activity) that a user frequently performs in acontext that matches a context associated with the recommendationrequest. For example, the recommendation engine 118 can determine, basedon the profile 122 (e.g., via analysis and evaluation of transactionaldata associated with the user or client device 104 corresponding to theprofile 122) that a user frequently makes purchases from high-end coffeeshops during late mornings.

The contextual activity preferences can be determined by a transactionanalyzer 124, prior to and/or in response to a recommendation request.The transaction analyzer 124 can analyze transaction data 126 associatedwith a user who is associated with the client device 104. Thetransaction data 126 can be a copy of transaction data 128 provided bythe transaction data provider 107, for example. The transaction data 126can include purchase information, location information, check-ininformation, sentiment information, reviews about merchants, venues,activities, etc. The transaction analyzer 124 can analyze thetransaction data 126 to determine activity patterns that indicate one ormore contextual activity preferences associated with a profile withwhich the client device 104 is associated. For example, the transactionanalyzer 124 can determine that a user often plays golf on Saturdaymornings, or often checks in during late afternoons to health clubs thatinclude swimming pools.

The transaction analyzer 124 can determine, from the transaction data126, types and relative classes (e.g., high-end, low-end, luxury,bargain, gender preference, smoking/non-smoking preference, overeighteen, children allowed) of vendors, merchants, or establishmentsthat the user frequents, for different categories of offerings. Forexample, the transaction analyzer 124 can determine that the userfrequents high-end gyms but often orders bargain breakfasts. Thetransaction analyzer 124 can look up merchants in a domestic merchantdirectory, or use other sources, to classify merchants and associatedtransactions associated with the transaction data 126 for the clientdevice 104. Vendors, merchant, and establishment ratings andclassifications may be established by any appropriate means, includingdata associated with one or more external applications to the presentsolution (e.g., Yelp, Google Reviews, among others), data associatedwith user feedback provided within the present solution or in a relatedapplication, etc.), domestic merchant dictionaries, professional reviewdata sources, etc.

The transaction data 126 can include data for domestic transactionsperformed while the user is in their home country and also foreigntransactions performed while the user is in foreign countries, either onthe current trip or on previous visits to the same or other locations.The contextual activity preferences can be for activities the user oftenperforms at home and can also be for activities that the user hasperformed while traveling in general or while traveling in particularlocations, such as those activities the user performs at home and haspreviously performed while in other foreign or non-standard locales. Thecontext detector 120 can determine that the user is currently travelingin a location in which they have previously traveled, and thetransaction analyzer 124 can determine contextual activity preferencesthat are specific to the user's current location, in addition to orinstead of contextual activity preferences that indicate commonactivities the user performs while at home or on other trips.

The transaction analyzer 124 can identify transactions that may indicatethat the user is currently traveling or may travel at a future date. Forexample, the transaction data 126 may indicate a prior purchase of anairline ticket. In response to detecting the airline ticket purchase,information can be stored in the profile 122 associated with the clientdevice 104 and its user to indicate a future likelihood of travel forthe user. The context detector 120 can use the indication of a futurelikelihood of travel when determining whether the user is currentlytraveling.

An establishment analyzer 130 of the recommendation engine 118 cananalyze establishment information 132 to determine establishments in thecurrent location of the client device 104 that may offer activities(e.g., product purchases, services, other activities) that match thedetermined contextual activity preferences. The establishment analyzer130 can determine that a merchant that the user normally visits (e.g., aparticular brand of store) is not available at the location of theclient device 104, and can therefore try to identify otherestablishments that offer similar services. Establishments can includevendors, merchants, places of business, service providers, buildings,facilities, or other designated locations (e.g., a park, an attraction).The establishment information 132 can include information that indicatesplaces where certain activities can be performed, places that offerparticular services or products, certain type of merchants, certain typeof venues, etc. The establishment information 132 can be data that isobtained from the foreign business directory service 110, from otherusers of the present system, or from any other suitable source. Theforeign business directory service 110 can provide an establishmentdirectory 134 and/or establishment offerings information 135, forexample. As another example, the establishment information 132 can beinformation obtained from the establishment information sources 111,which can include, for example review websites, travel websites,discussion forums, blogs, social networking sites, etc.

Some or all of the establishment information 132 can be in the preferredlanguage associated with profile 122 associated with the client device104. The establishment analyzer 130 can determine establishments thatare located within a certain proximity of the location of the clientdevice 104 that offer or are likely to offer activities that match thedetermined contextual activity preferences. For example, if a contextualactivity preference is that a user often orders an inexpensivebreakfast, the establishment analyzer 130 can determine one or moreestablishments that are near the client device 104, that offerbreakfast, and that have a cost rating that is lower than a threshold(e.g., “two dollar signs or lower” in a business cost rating directory).

Some or all of the establishment information 132 can be in foreignlanguage(s) that are local to the location of respective establishments.A translation engine 136 can, using translation dictionaries 138 and/orthe translation service 109, translate determined contextual activitydescriptions from the preferred language of the user to a foreignlanguage to generate translated activity descriptions. The establishmentanalyzer 130 can determine nearby establishments that offer or arelikely to offer activities that match the translated activitydescriptions.

A recommendation generator 142 can generate one or more suggestedactivity recommendations based on the determined contextual activitypreferences and matching establishments determined by the establishmentanalyzer 130. For example, the recommendation generator 142 can generatea recommendation to purchase luxury coffee at a nearby coffee shop onehalf hour before a time that the user normally purchases luxury coffee.

The translation engine 136 can translate establishment information 132that is in a foreign language to the user's preferred language, forinclusion in a generated recommendation that is to be provided to theclient device 104. Generated recommendation(s) can be sent from theserver 102 to the client device 104, for presentation in the clientapplication 114 (e.g., using a GUI 166 of the client device 104 or therecommendation UI 119 of the client application 114).

The recommendation UI 119 can enable the user to select a givenrecommendation, such as to accept the recommendation. Differentrecommendations for an establishment can be presented in multiplelevels, or layers. For example, a first recommendation can be to visit aluxury coffee shop. If the user accepts the first recommendation, anupdated user interface can be displayed that presents recommended items(or perhaps a menu of available items) that can be ordered from theluxury coffee shop. Establishment offering information can be obtained,by the recommendation generator 142, from the establishment information132, the establishment offerings 135 included in or provided by theforeign business directory service 110, the establishment informationsources 111, or an establishment system 108 associated with theestablishment. The translation engine 136 can translate establishmentoffering information into the preferred language if the establishmentoffering information is received in a local language. Pricinginformation for offered items can be converted, by a payment module 145,from a local currency to a preferred currency of the user, and itemprices can be presented in a recommendation in the user's preferredcurrency. A user's preferred currency can be identified from the profile122 or determined based on the normal locations associated with theprofile 122.

The recommendation UI 119 can enable the user to view directions to anestablishment associated with a selected recommendation. Directions orrelated information (e.g., parking tips or direction information foundon an establishment website) can be translated by the translation engine136 from a local language at the current location to the user'spreferred language. The client application 114 can be configured todetermine when a location of the client device 104 is substantially thesame as the location of the establishment associated with the selectedrecommendation. Establishment offering information (e.g., a menu ofavailable items or recommended items) can be presented in therecommendation UI 119 in response to a determination that the userdevice is located at the establishment.

The user can select, on the recommendation UI 119, an item that isavailable from the establishment. In response to the selection of anitem, the client application 114 can assist the user and theestablishment with the ordering of the item from the establishment. Forexample, the user (or an employee of the establishment) can select anoption on the recommendation UI 119 to view a translated itemdescription in the local language. The translation engine 136 canprovide a mapping of preferred language item descriptions to locallanguage items descriptions, to the client device 104, for example. Asanother example, the translation engine 136 can provide to the clientdevice 104 an audio recording of the translated item description, andthe user (or the employee at the particular establishment) can select anoption presented on the recommendation UI 119 to play the recording ofthe translated item description.

In some implementations, the client application 114 can include a livetranslation feature, such as if the user and the employee would like todiscuss the order (e.g., modifications to the order). For example, theuser can select an option on the recommendation UI 119 to initiate alive translation. The recommendation UI 119 can enable the recording ofthe user's voice (e.g., the user may say “extra sugar please”). Theclient application 114 can send the recording to the server 102, fortranslation by the translation engine 136. The translation engine 136can generate a translated audio recording (e.g., a foreign languageversion of “extra sugar please”). The translated audio recording can besent to the client device 104, for playback on the client device 104, sothat the employee can understand the user's request. Alternatively or inaddition, live translations of textual communications can be performedvia the client application 114 based on a back and forth of text-basedinput translated into the respective reader's language of choice.Although described as a client/server translation, in someimplementations, translation is performed by a translation engineexecuting locally on the client device 104.

The client application 114 can be configured to assist the user withpaying for the selected item. As mentioned, pricing for the item can bedisplayed in a user's preferred currency. Pricing information can alsobe displayed in a local currency. The payment module 145 can convertpricing information either from the user's preferred currency to thelocal currency or from the local currency to the user's preferredcurrency, depending on a currency type of obtained pricing information.In some instances, both the local and preferred currency amounts can bepresented concurrently. The payment module 145 can determine a user'spreferred payment type from the profile 122. The recommendation UI 119can be configured to present advice as to whether the establishmentaccepts the user's preferred payment type. In some implementations, therecommendation generator 142 selects (or filters) recommendations basedon whether an establishment accepts a user's preferred payment type. Therecommendation generator 142 can include, in a generated recommendation,other payment advice, such as other accepted payment types or tippingsuggestions and/or customs applicable to the locale of theestablishment.

Some establishments can support online ordering. The client application114 can be configured to send a request to the establishment system 108to place an order for the selected item. In some implementations, anorder engine 146 on the server 102 is configured to interface with theestablishment system 108, and the client application 114 sends a requestto the server 102 for placement of an order with the establishmentsystem 108. In yet further embodiments the order engine 146 mayinterface with a third party order application to place the order.

In some implementations, a user's actions with the recommendation UI 119may affect future recommendations. For example, information regardingwhether a user views a recommendation, accepts a recommendation, ororders an item from an establishment can be provided to therecommendation generator 142. The recommendation generator 142 can storethe received information in the profile 122, for example. Informationabout a user's past actions with presented recommendations can be usedby the recommendation generator 142 when determining futurerecommendations, such as by increasing a likelihood of generating arecommendation similar to recommendations acted on favorably by the userand decreasing a likelihood of generating a recommendation similar torecommendations not acted on by the user.

Although the term “language” is used throughout this disclosure,different languages can include different dialects of a same underlyinglanguage. The context detector 120 can determine, for example, that auser's preferred language corresponds to a first dialect of a givenlanguage and that a second dialect of the given language is used in thelocation of the client device 104. The translation engine 136 cantranslate information, such as an item description, from the seconddialect to the first dialect, or perform other translations to assistthe user and/or the vendor with completing a transaction. For example,an American user may be traveling in South Africa, and the translationengine 136 may translate between American English and South AfricanEnglish, as needed. Translations performed for a user can change as auser moves within a country or region. For example, a Chinese travelermay receive translations between English and Chinese while visitingToronto and between French and Chinese later in a same trip while inQuebec.

A local language or dialect may be specific to a country, a state, acity, an area of a city, or an establishment. For example, Chinese maybe a predominant language of a Chinatown area of a city that otherwisepredominantly uses another language. The translation engine 136 cantranslate between Chinese and the user's preferred language, as needed.As another example, the transaction analyzer 124 can determine that theuser likes Lebanese food. The user may be traveling in Brazil, and therecommendation engine 118 may generate a recommendation for a Lebaneserestaurant in Brazil. The recommendation generator 142 may determine,based on information obtained from the establishment directory 134, thatthe proprietors of the Lebanese restaurant speak Lebanese, and that menuinformation is available in Lebanese (rather than Portuguese). Thetranslation engine 136 can translate information between Lebanese andthe user's preferred language, as needed.

In some implementations, a determination is made that the user'spreferred language is used by less than a predetermined percent ofpeople in the location of the client device 104. The translation engine136 can translate between the user's preferred language and one or moreother languages that are more predominantly used in the location. Forexample, in a given location, 85% of the population may speak German,10% French, and 5% English. The recommendation UI 119 can provideoptions to translate between English and German and/or between Englishand French, if the user's preferred language is English.

User profiles 122 can be updated over time with information indicating auser's selection (or lack of selection) of various recommendations, andinteractions in the recommendation UI 119. User profile data for auser's past selections, lack of selections, and interactions can be usedto tailor future recommendations. User profiles 122 can includeinformation relating to a user's behavior (e.g., transactions,interactions) while traveling as well as a user's behavior (e.g.,transactions) while at home.

Although the recommendation engine 118 is illustrated as including thecontext detector 120, the transaction analyzer 124, the establishmentanalyzer 130, the translation engine 136, the recommendation generator142, the payment module 145, and the order engine 146, fewer or morecomponents may be included, and the described functionality of one ormore of these may be combined into another component or generally intothe recommendation engine 118.

The client device 104 may be any computer or processing device such as,for example, a general-purpose personal computer (PC), Mac®,workstation, UNIX-based workstation, or any other suitable device. Inother words, the present disclosure contemplates computers other thangeneral purpose computers, as well as computers without conventionaloperating systems. Further, the client device 104 may be adapted toexecute any operating system, including Linux, UNIX, Windows, Mac OS®,Java™, Android™, iOS or any other suitable operating system.

Interfaces 151, 152, 153, 154, 155, 156, 157, 158, and 159 are used bythe server 102, the client device 104, the transaction data provider107, the establishment system 108, the translation service 109, theforeign business directory service 110, the establishment informationsources 111, and the payment system 112, respectively, for communicatingwith other systems in a distributed environment—including within thesystem 100—connected to the network 106. Generally, the interfaces 151,152, 153, 154, 155, 156, 157, 158, and 159 each comprise logic encodedin software and/or hardware in a suitable combination and operable tocommunicate with the network 106. More specifically, the interfaces 151,152, 153, 154, 155, 156, 157, 158, and 159 may each comprise softwaresupporting one or more communication protocols associated withcommunications such that the network 106 or interface's hardware isoperable to communicate physical signals within and outside of theillustrated system 100.

The server 102 includes one or more processors 160. Each of theprocessors 160 may be a central processing unit (CPU), a blade, anapplication specific integrated circuit (ASIC), a field-programmablegate array (FPGA), or another suitable component. Generally, each of theprocessors 160 executes instructions and manipulates data to perform theoperations of the server 102.

Regardless of the particular implementation, “software” may includecomputer-readable instructions, firmware, wired and/or programmedhardware, or any combination thereof on a tangible medium (transitory ornon-transitory, as appropriate) operable when executed to perform atleast the processes and operations described herein. Indeed, eachsoftware component may be fully or partially written or described in anyappropriate computer language including C, C++, Java™, JavaScript®,Visual Basic, assembler, Perl®, any suitable version of 4GL, as well asothers. While portions of the software illustrated in FIG. 1 are shownas individual modules that implement the various features andfunctionality through various objects, methods, or other processes, thesoftware may instead include a number of sub-modules, third-partyservices, components, libraries, and such, as appropriate. Conversely,the features and functionality of various components can be combinedinto single components as appropriate.

The server 102 includes memory 162. In some implementations, the server102 includes multiple memories. The memory 162 may include any type ofmemory or database module and may take the form of volatile and/ornon-volatile memory including, without limitation, magnetic media,optical media, random access memory (RAM), read-only memory (ROM),removable media, or any other suitable local or remote memory component.The memory 162 may store various objects or data, including caches,classes, frameworks, applications, backup data, business objects, jobs,web pages, web page templates, database tables, database queries,repositories storing business and/or dynamic information, and any otherappropriate information including any parameters, variables, algorithms,instructions, rules, constraints, or references thereto associated withthe purposes of the system 100.

The client device 104 may generally be any computing device operable toconnect to or communicate within the system 100 via the network 106using a wireline or wireless connection. In general, the client device104 comprises an electronic computer device operable to receive,transmit, process, and store any appropriate data associated with thesystem 100 of FIG. 1 . The client device 104 can include one or moreclient applications, including the client application 114. A clientapplication is any type of application that allows the client device 104to request and view content on the client device 104. In someimplementations, a client application can use parameters, metadata, andother information received at launch to access a particular set of datafrom the system 100. In some instances, a client application may be anagent or client-side version of the one or more enterprise applicationsrunning on an enterprise server (not shown).

The client device 104 further includes one or more processors 164. Eachprocessor 164 included in the client device 104 may be a centralprocessing unit (CPU), an application specific integrated circuit(ASIC), a field-programmable gate array (FPGA), or another suitablecomponent. Generally, each processor 164 included in the client device104 executes instructions and manipulates data to perform the operationsof the client device 104.

The client device 104 is generally intended to encompass any clientcomputing device such as a laptop/notebook computer, wireless data port,smart phone, personal data assistant (PDA), tablet computing device, oneor more processors within these devices, or any other suitableprocessing device. For example, the client device 104 may comprise acomputer that includes an input device, such as a keypad, touch screen,or other device that can accept user information, and an output devicethat conveys information associated with the operation of the system100, or the client device 104 itself, including digital data, visualinformation, or a graphical user interface (GUI) 166.

The GUI 166 of the client device 104 interfaces with at least a portionof the system 100 for any suitable purpose, including generating avisual representation of the client application 114, including therecommendation UI 119. In particular, the GUI 166 may be used to viewand navigate various Web pages. Generally, the GUI 166 provides the userwith an efficient and user-friendly presentation of business dataprovided by or communicated within the system. The GUI 166 may comprisea plurality of customizable frames or views having interactive fields,pull-down lists, and buttons operated by the user. The GUI 166contemplates any suitable graphical user interface, such as acombination of a generic web browser, intelligent engine, and commandline interface (CLI) that processes information and efficiently presentsthe results to the user visually.

Memory 168 included in the client device 104 may include any memory ordatabase module and may take the form of volatile or non-volatile memoryincluding, without limitation, magnetic media, optical media, randomaccess memory (RAM), read-only memory (ROM), removable media, or anyother suitable local or remote memory component. The memory 168 maystore various objects or data, including user selections, caches,classes, frameworks, applications, backup data, business objects, jobs,web pages, web page templates, database tables, repositories storingbusiness and/or dynamic information, and any other appropriateinformation including any parameters, variables, algorithms,instructions, rules, constraints, or references thereto associated withthe purposes of the client device 104.

There may be any number of client devices 104 associated with, orexternal to, the system 100. For example, while the illustrated system100 includes one client device 104, alternative implementations of thesystem 100 may include multiple client devices 104 communicably coupledto the network 106, or any other number suitable to the purposes of thesystem 100. Additionally, there may also be one or more additionalclient devices 104 external to the illustrated portion of system 100that are capable of interacting with the system 100 via the network 106.Further, the term “client”, “client device” and “user” may be usedinterchangeably as appropriate without departing from the scope of thisdisclosure. Moreover, while the client device 104 is described in termsof being used by a single user, this disclosure contemplates that manyusers may use one computer, or that one user may use multiple computers.

FIG. 2 is a flowchart of an example method 200 for providing arecommendation for presentation on a user device. At 202, a user makes apurchase, where the purchase is associated with a user location 204. Alearning engine 205 determines a user purchase preference 206 based onthe purchase and stores the user preference 206 in a user database 207.The learning engine 205 can determine the user purchase preference 206and other user purchase preferences based on the user purchase and otherpurchases made by the user. In some instances, the user purchasepreference 206 is used to influence and update an existing set ofpreferences for use in further determinations and recommendations. At208, the user makes a flight purchase. The learning engine 205 candetermine a user purchase preference 210 based on the flight purchase(and possibly other purchases), or update existing preferenceinformation.

At 212, the user takes the flight associated with the flight purchase(or the time passes associated with the purchase ticket withoutcancellation or refund) traveling from a user's home geo location 214and landing, at 216, at a foreign geo location 218. The learning engine205 can, based on user purchase preferences stored in the user database207 and on detecting the user's current location being the foreign geolocation 218, determine one or more recommendations 220 for the user,such as for making a purchase similar to purchases for which data isstored in the user database 207 (e.g., in the context or timingcorresponding to those normal purchases), at a foreign vendor located atthe foreign geo location 218 who has been determined to offer arecommended product or service. At 222, the recommendation 220 isprovided to the client device of the user for presentation.

FIG. 3 is a flowchart of an example method 300 for facilitating theordering of a recommended product. At 302, a user arrives in a foreigncountry. At 304, the system recognizes that the current time (or anupcoming time that is a predetermined or threshold amount of time (e.g.,30 minutes) or less from the current time) is a time that corresponds toa frequent activity of the user based on one or more prior transactionsand/or determined or explicit user preferences (e.g., “coffee time”, atime that the user often buys coffee at home and/or on other travels).

At 305, the system searches for coffee shops that are similar to coffeeshops from which the user typically orders. The system can search arepository of establishment information, for example, for coffee shopsthat have characteristics (e.g., price, environment, offerings) that aresimilar to characteristics that have been identified for coffee shopsthat user often frequents. In some implementations, the repository ofestablishment information is in a local language that is different fromthe user's preferred language, and the system can translate theidentified characteristics into the local language before searching. Insome instances, coffee may not be a common product in a particularlocale. In such instances, the system may identify a similar tea orother beverage location based on the stored preferences and adetermination of the best match within the system.

At 306, the system recommends coffee from “coffee shop A.” The systemmay have identified coffee shop A as being within a threshold distanceof the user and as having characteristics that match or are sufficientlysimilar to coffee shops the user frequents. Coffee shop A may have ahighest ranked matching score among other establishments, for example.If the repository of establishment information is in a languagedifferent from the user's preferred language, some information to bepresented in a recommendation to the user can be translated to theuser's preferred language before being presented. The recommendation canbe presented on a mobile device of the user.

At 308, the user accepts the recommendation. For example, the user canselect an accept user interface control on a user interface. At 310, thesystem provides the location of the vendor. For example, directions tothe vendor can be presented on the mobile device. At 312, the userapproaches the location of the vendor. At 314, the system detects theuser's arrival at the location of the vendor. For example, anapplication on the mobile device (or on a server) can detect that thelocation of the mobile device is substantially the same as the locationof the vendor.

At 316, the user prompts the system to order. A menu of items availablefrom the vendor can be presented on the mobile device, for example. Thesystem may obtain an electronic menu for the vendor in either the user'spreferred language or in a language specific to the location of thevendor. If the electronic menu is not in the user's preferred language,the electronic menu can be translated to the user's preferred languagebefore being presented. Pricing of menu items can be converted from alocal currency to a preferred currency of the user, and item prices canbe presented in the user's preferred currency. The user can select oneor more presented items.

At 318, the system orders the selected item(s) in a local language. Forexample, the system can present a local language item description on theuser interface, for presentation to the vendor. As another example, thesystem can play an audio file, in the local language, of the selecteditem description. As another example, the system can electronicallyorder the selected item, by interfacing with an electronic system of thevendor.

In yet further embodiments, the system may engage in a conversation witha vendor employee to order the item on behalf of the user and in someinstances may act as a translator between the two. In such embodimentsthe system may employ a conversational interface having built in naturallanguage processing and natural language generation capabilities.Furthermore these capabilities may be refined based on aggregate dataacquired from other instances of the application used on alternate usermobile devices.

In yet further embodiments of the system, during the step 318, thesystem may augment the conversational interface with textual data and apictorial display that may be shown by the user to the vendor employeeto facilitate the order. In addition, in instances where a user may haveto wait for their order to be called the application may go into alistening mode where it listens for the order to be called and theinforms the user when their order is ready.

In other implementations, the system can enable the user to place anorder over the phone. For example, the system can translateforeign-language versions of vendor offering information to the user'slocal language and then play audio recording(s) of local-languageversions of the vendor offerings, and enable the user to select one ormore offered products or services. The system can then automaticallyplace a call to the vendor and place an order over the phone with thevendor, playing an audio recording that includes a description of theordered items in the language of the vendor.

The system can perform time-zone conversions as appropriate. Forexample, the system may know that a user from New York generally orderscoffee at 8:00 am EST while at home. The system can determine torecommend the ordering of coffee at 8:00 am London time when the user istraveling in London. Other conversions can be performed, includingconversions based on cultural considerations or a determination of aschedule change of a user. For example, the system may determine that auser generally orders coffee one hour after waking up (e.g., based oninformation obtained from a sleep monitoring application or astep-tracking application on the user's device, or other information).The user may wake up at a later time of day when traveling, due to avariety of reasons (e.g., jet lag, a general later workday start timecommon to the user's location, the user being on vacation, etc.). Thesystem can determine a user's wake time and make a recommendation forcoffee at a later time than a user's normal ordering, but still at asame time relative to their waking.

FIG. 4A is an example user interface 400 for presenting an activityrecommendation. As indicated by a note 402, the system can detect, basedon analysis of user transactions and/or information in a user profile,that the user often purchases an inexpensive breakfast around a sametime (e.g., 8:00 am). In response to the detection, the note 402 can bedisplayed before (e.g., one half hour before) the time the user oftenpurchases the breakfast. The system can identify the user's currentlocation, and can search a directory of local establishments to identifynearby establishments that may offer a similar type of offering as theuser's frequent inexpensive breakfast. The system can detect thatcertain establishments provide such an offering based on information inthe directory and/or on other information, such as a website of theestablishment, a review service, blogs, etc.

In response to detecting that a particular establishment offers theinexpensive breakfast and is within a threshold distance of the user'scurrent location, a note 404 can be displayed that informs the user ofthe ability of the merchant to offer the inexpensive breakfast and adistance to the merchant. The note 404 includes the name of the merchantin the local language (e.g., French, “Le diner de Jacques”), and atranslated version of the merchant name in the preferred language of theuser (e.g., English, “Jacques' Diner”). The user can select a control406 to be presented directions to the merchant.

As shown in a user interface 420 in FIG. 4B, upon arriving at themerchant (or before), the user can be presented a menu 422 that listsitems that are available to be ordered at the merchant. The menu 422 canbe translated from the local language to the preferred language of theuser. A local language menu can be obtained, for example, from a websiteof the merchant, an online menu service, or some other source. The userhas selected items 424 (boiled egg), 426 (croissant), and 428 (fruitjuice). The menu 422 includes prices for each listed item. Prices can beshown in a currency associated with the user. A currency conversion canbe performed to convert a price in a local currency (such as included inthe local language version of the menu) to the currency associated withthe user, while factoring in current exchange rates, for example. Theuser can select a control 430 to create an order description in thelocal language, to be provided to the merchant so as to order theselected items in the local language.

As shown in a user interface 440 in FIG. 4C, an order description 442includes local language descriptions of the items the user selected onthe user interface 420. A note 444 instructs the user that they can showthe user interface 440 (and the order description 442) to the merchant,so that the merchant can read the user's order in the language of themerchant. As another example, the user can select a control 446 to havethe user device play an audio file that includes a playing of the orderdescription in the language of the merchant.

For some merchants, the user can select a control 448 to submit an orderelectronically to a system of the merchant. The user can select acontrol 449 to otherwise get assistance or advice for making a paymentto the merchant. For example, payment options that may be available,currency conversions, tip suggestions, etc., may be displayed inresponse to selection of the control 449.

FIGS. 4D and 4E are example conversational user interfaces 450 and 470,respectively. As shown in the conversational user interface 450, amessage 452 is presented informing the user that their order has beenplaced and that they can provide a question or an order customization tothe vendor. For example, the user can enter a question or customizationrequest using an entry field 454. As another example, the user canselect a record control 456 to record an audio recording of theirquestion or customization. For example, the user has entered acustomization request of “salt and pepper please” in the entry field454. The user can select a translate control 458 to translate thecustomization request to the language used by the vendor. In response tothe entry of the customization request into the entry field 454 andselection of the translate control 458, the system can translate thecustomization request and present a translated customization request ina translated request field 459. The translated request field 459includes a French translation of “salt and pepper please,” which can beshown to the vendor.

If the user selects the record control 456, the system can record anaudio recording of the user's request and present a playback control(not shown). If the user selects the playback control, the system cantranslate the audio recording to the language of the vendor and playback the translated audio recording for the vendor. After the vendor hasheard the translated audio recording (or has seen the translatedcustomization request in the translated request field 459), the user canselect a record and translate control 460 to cause the mobile device torecord an audio recording of a spoken response of the vendor, andtranslate the audio recording to the language of the user.

For example and as shown in the conversational user interface 470, avendor reply field 472 displays a vendor-language transcription of therecorded audio of the vendor response. The system can perform a speechto text conversion of the recorded audio of the vendor's response, forexample. Alternatively or additionally, the system can present aplayback control (not shown) for playing of a translated audio recordingof the vendor response, in the language of the user. The system cantranslate the vendor-language transcription in the vendor reply field472 to the user's language, and present a translated textual response ina translated response field 474. The translated response field 474indicates that the vendor has responded with an answer of “Certainly,Sir. Will you be dining in with us today?”. The user can enter aresponse in a response entry field 476 or can select a record control478 to record a response audio recording. In response to selection ofthe record control 478, the system can record a spoken response from theuser and present a control 479 for the user to select to causetranslation of the recorded spoken response to the language of thevendor and playback of the translated spoken response for the vendor. Ifthe user enters a response in the response entry field 474, the systemcan present a translate control (not shown) that the user can select tocause the mobile device to translate the response in the response entryfield 474 to the language of the vendor and present a translatedresponse on the conversational user interface 470, for presentation tothe vendor. Other types of conversational user interfaces can be used.For example, the system can present the user with candidate translationsof their inputs, and the user can select an appropriate translation. Thesystem can use machine learning to improve translation and responseinterpretation for a specific user, over time.

FIG. 5 is a flowchart of an example method 500 for providing arecommendation for a suggested activity. It will be understood thatmethod 500 and related methods may be performed, for example, by anysuitable system, environment, software, and hardware, or a combinationof systems, environments, software, and hardware, as appropriate. Forexample, a server or other computing device can be used to executemethod 500 and related methods and obtain any data from the memory ofthe server or the other computing device. In some implementations, themethod 500 and related methods are executed by one or more components ofthe system 100 described above with respect to FIG. 1 . For example, themethod 500 and related methods can be executed by the recommendationengine 118 of FIG. 1 .

At 502, a first signal is received, via a communications module and froma device. The first signal includes a current context associated withthe device that includes at least location information for a geographiclocation of the device. The device is associated with a particularprofile in a plurality of profiles. The profile may be specific to thedevice or to a user associated with the device.

At 504, a preferred language associated with the device is determinedfrom the particular profile.

At 506, the particular profile is analyzed to determine at least onecontextual activity preference that matches the current contextassociated with the device.

At 508, in response to receiving the first signal, a repository ofestablishment information is searched based on the location information,the current context associated with the device, and the at least onedetermined contextual activity preference to identify at least oneactivity in response to the search. The repository of establishmentinformation includes descriptions of activities that are available to beperformed at a plurality of geographic locations. The at least oneidentified activity matches the current context associated with thedevice and the at least one determined contextual preference and in someembodiments is compatible with a user profile. The user profile may bederived from the user's transaction history and compared to an aggregateof other users with regard to the at least one identified activity. Theat least one identified activity is associated with at least oneactivity description in a foreign language different than the preferredlanguage associated with the device. The repository of establishmentinformation can include activity descriptions in a language local togeographic locations in which the establishments are located, forexample.

At 510, the at least one activity description of the at least oneidentified activity is translated from the foreign language to thepreferred language to create at least one translated activitydescription.

At 512, a second signal is transmitted, via the communications module,to the device. The second signal includes the at least one translatedactivity description for presentation at the device.

FIG. 6 is a flowchart of an example method 600 for presenting arecommendation for a suggested activity. It will be understood thatmethod 600 and related methods may be performed, for example, by anysuitable system, environment, software, and hardware, or a combinationof systems, environments, software, and hardware, as appropriate. Forexample, a client or other computing device can be used to executemethod 600 and related methods and obtain any data from the memory ofthe client or the other computing device. In some implementations, themethod 600 and related methods are executed by one or more components ofthe system 100 described above with respect to FIG. 1 . For example, themethod 500 and related methods can be executed by the client device 104of FIG. 1 .

At 602, a first signal is transmitted via a communications module to aserver. The first signal includes a current context associated with adevice including at least location information for a geographic locationof the device. The device is associated with a particular profile in aplurality of profiles accessible by the server. The profile indicates apreferred language associated with the device.

At 604, a second signal is received via the communications module fromthe server. The second signal includes at least one first activitydescription in the preferred language that is a translation of at leastone second activity description from a foreign language to the preferredlanguage. The at least one second activity description is a searchresult of a search performed by the server of a repository ofestablishment information that includes descriptions of activities thatare available to be performed at a plurality of geographic locations.The search was performed to identify at least one activity based on thelocation information, the current context associated with the device,and at least one determined contextual activity preference identifiedfor the device based on the profile. The at least one identifiedactivity matches the current context associated with the device and theat least one determined contextual preference.

At 606, the at least one first activity description is presented on thedevice. It should be noted that although the embodiments provided aboveare directed largely towards restaurant vendors, that other types ofvendors, establishments, or facilities may be used, such as gyms, golfcourses, etc.

The preceding figures and accompanying description illustrate exampleprocesses and computer-implementable techniques. But system 100 (or itssoftware or other components) contemplates using, implementing, orexecuting any suitable technique for performing these and other tasks.It will be understood that these processes are for illustration purposesonly and that the described or similar techniques may be performed atany appropriate time, including concurrently, individually, or incombination. In addition, many of the operations in these processes maytake place simultaneously, concurrently, and/or in different orders thanas shown. Moreover, system 800 may use processes with additionaloperations, fewer operations, and/or different operations, so long asthe methods remain appropriate.

In other words, although this disclosure has been described in terms ofcertain embodiments and generally associated methods, alterations andpermutations of these embodiments and methods will be apparent to thoseskilled in the art. Accordingly, the above description of exampleembodiments does not define or constrain this disclosure. Other changes,substitutions, and alterations are also possible without departing fromthe spirit and scope of this disclosure.

What is claimed is:
 1. A system comprising: a server; a client device;and at least one memory storing instructions, the memory accessible tothe server, a plurality of profiles, and a repository of establishmentinformation including descriptions of activities that are available tobe performed at a plurality of geographic locations; wherein the serveris configured to: receive a first transmission from the client device,the first transmission including a current context associated with theclient device including at least location information for a geographiclocation of the client device, the client device associated with aparticular profile in the plurality of profiles; determine, from theparticular profile, a preferred language associated with the clientdevice; analyze the particular profile to identify at least onecontextual activity preference associated with the particular profile;automatically determine at least one matching contextual activitypreference from among the identified at least one contextual activitypreference, wherein the at least one matching contextual activitypreference matches the current context associated with the clientdevice, wherein the at least one matching contextual activity preferenceindicates a preference for at least one activity to be performed in thecurrent context associated with the client device; in response toreceiving the first transmission, search the repository of establishmentinformation based on the location information, the current contextassociated with the client device, and the at least one determinedcontextual activity preference to automatically identify at least oneactivity in response to the search, the at least one identified activitymatching the current context associated with the client device and theat least one matching contextual activity preference, the at least oneidentified activity associated with at least one activity description ina foreign language different than the preferred language associated withthe client device; translate the at least one activity description ofthe at least one identified activity from the foreign language to thepreferred language to create at least one translated activitydescription; and in response to creating the at least one translatedactivity description, transmit a second transmission to the clientdevice, the second transmission including the at least one translatedactivity description for presentation at the client device; and whereinthe client device is configured to: provide the first transmission tothe server; receive the second transmission from the server; present thetranslated activity description; receive, as a selected activity, aselection of a first suggested activity to be performed at a firstestablishment; and transmit, to the server, a third transmissionindicating the selected activity; and wherein the server is configuredto: receive the third transmission from the client device; automaticallygenerate, in response to receiving the third transmission, an audiorecording that audibly describes, in the foreign language, the selectedactivity; and transmit, to the client device, a fourth transmission thatincludes the audio recording; wherein the client device is configuredto: receive the fourth transmission from the server; present aselectable user interface element configured to enable playback of theaudio recording; receive selection of the selectable user interfaceelement; and play, at the first establishment, the audio recording thataudibly described, in the foreign language, the selected activity, toplace an order at the first establishment for the selected activity. 2.The system of claim 1, wherein the server is configured to transmit afifth transmission to the client device, the fifth transmissionincluding direction information in the preferred language describingdirections from a geographic location of the client device to the firstestablishment; and wherein the client device is configured to presentthe direction information.
 3. The system of claim 1, wherein the currentcontext includes at least one of time of day, time of year, or day ofweek.
 4. The system of claim 1, wherein the server is configured tofacilitate payment to the first establishment for the selected activity.5. The system of claim 4, wherein the server is configured to convertpricing information from a local currency to a preferred currencyassociated with the particular profile.
 6. The system of claim 1,wherein the selected activity is ordering an item from the firstestablishment and the third transmission indicates a selection of afirst item description of a first item offered by the firstestablishment.
 7. The system of claim 6, wherein the audio recordingdescribes, in the foreign language, the selection of the first itemdescription.
 8. A system comprising: a communications module; at leastone memory storing instructions, a plurality of profiles, and arepository of establishment information including descriptions ofactivities that are available to be performed at a plurality ofgeographic locations; and at least one hardware processor interoperablycoupled with the at least one memory, wherein the instructions instructthe at least one hardware processor to: receive a first transmission viathe communications module from a device, the first transmissionincluding a current context associated with the device including atleast location information for a geographic location of the device, thedevice associated with a particular profile in the plurality ofprofiles; determine, from the particular profile, a preferred languageassociated with the device; analyze the particular profile to determineat least one contextual activity preference associated with theparticular profile; automatically determine at least one matchingcontextual activity preference from among the at least one contextualactivity preference, wherein the at least one matching contextualactivity preference matches the current context associated with thedevice, wherein the at least one matching contextual activity preferenceindicates a preference for at least one activity to be performed in thecurrent context associated with the device; in response to receiving thefirst transmission, search the repository of establishment informationbased on the location information, the current context associated withthe device, and the at least one determined contextual activitypreference to automatically identify at least one activity in responseto the search, the at least one identified activity matching the currentcontext associated with the device and the at least one matchingcontextual activity preference, the at least one identified activityassociated with at least one activity description in a foreign languagedifferent than the preferred language associated with the device;translate the at least one activity description of the at least oneidentified activity from the foreign language to the preferred languageto create at least one translated activity description; in response tocreating the at least one translated activity description, transmit, viathe communications module, a second transmission to the device, thesecond transmission including the at least one translated activitydescription for presentation at the device; receive, via thecommunications module and from the device, a third transmissionindicating a selection on the device of a selected activity to beperformed at a first establishment; automatically generate, in responseto receiving the third transmission, an audio recording that audiblydescribes, in the foreign language, the selected activity activity; andtransmit, to the device, a fourth transmission that includes the audiorecording to enable a user of the device to play the audio recordingthat audibly describes, in the foreign language, the selected activity,to place an order at the first establishment for the selected activity.9. The system of claim 8, wherein the instructions instruct the at leastone hardware processor to transmit, via the communications module, afifth transmission to the device, the fifth transmission includingdirection information in the preferred language describing directionsfrom a geographic location of the device to the first establishment. 10.The system of claim 9, wherein the instructions instruct the at leastone hardware processor to transmit, via the communications module, asixth transmission to the device, the sixth transmission including theactivity description of the selected activity in the foreign language,for presentation to an employee of the first establishment.
 11. Thesystem of claim 8, wherein the selected activity is ordering an itemfrom the first establishment, and wherein the instructions instruct theat least one hardware processor to: transmit, via the communicationsmodule, a seventh transmission to the device, the seventh transmissionincluding at least one item description, in the preferred language, ofat least one item available for ordering at the first establishment;receive, via the communications module and from the device, an eighthtransmission indicating selection of a first item description; translatethe first item description from the preferred language to the foreignlanguage to generate a translated item description; and transmit, viathe communications module, a ninth transmission to the device, the ninthtransmission including the translated item description, for presentationto an employee of the first establishment.
 12. The system of claim 8,wherein the instructions instruct the at least one hardware processor tofacilitate payment to the first establishment for the selected activity.13. The system of claim 12, wherein the instructions instruct the atleast one hardware processor to convert pricing information from a localcurrency to a preferred currency associated with the particular profile.14. The system of claim 8, wherein the current context includes at leastone of time of day, time of year, or day of week.
 15. A devicecomprising: a communications module; a display; at least one memorystoring instructions; and at least one hardware processor interoperablycoupled with the at least one memory, the communications module, and thedisplay, wherein the instructions instruct the at least one hardwareprocessor to: transmit a first transmission via the communicationsmodule to a server, the first transmission including a current contextassociated with the device including at least location information for ageographic location of the device, the device associated with aparticular profile in a plurality of profiles accessible by the server,the profile indicating a preferred language associated with the device;receive a second transmission via the communications module from theserver, the second transmission including at least one first activitydescription in the preferred language that is a translation of at leastone second activity description from a foreign language to the preferredlanguage, the at least one second activity description being a searchresult of a search performed by the server of a repository ofestablishment information that includes descriptions of activities thatare available to be performed at a plurality of geographic locations,the search performed to identify at least one activity based on thelocation information, the current context associated with the device,and at least one determined contextual activity preference identifiedfor the device based on the profile, the at least one identifiedactivity matching the current context associated with the device and theat least one determined contextual preference; and display the at leastone first activity description on the display; receive, as a selectedactivity, a selection of a first suggested activity to be performed at afirst establishment; transmit, to the server, a third transmissionindicating the selected activity to be performed at the firstestablishment; receive, from the server, a fourth transmission thatincludes an audio recording that was automatically generated by theserver that audibly describes, in the foreign language, the selectedactivity; present a selectable user interface element configured toenable playback of the audio recording; receive selection of theselectable user interface element; and play, in response to selection ofthe selectable user interface element, the audio recording that audiblydescribes, in the foreign language, the selected activity, to place anorder at the first establishment for the selected activity.
 16. Thedevice of claim 15, wherein the instructions instruct the at least onehardware processor to: receive, via the communications module and fromthe server, a fifth transmission including direction information, in thepreferred language, describing directions from the geographic locationof the device to the first establishment; and display the directioninformation on the display.
 17. The device of claim 16, wherein theinstructions instruct the at least one hardware processor to: displayinformation on the display for an offer to present an activitydescription of the selected activity in the foreign language forpresentation to an employee of the first establishment; receive userselection of the offer; transmit, via the communications module and tothe server, a sixth transmission including a request for the activitydescription of the selected activity in the foreign language; receive,via the communications module and from the server, a seventhtransmission including the activity description of the selected activityin the foreign language; and display the activity description of theselected activity in the foreign language on the display, forpresentation to the employee of the first establishment.
 18. The deviceof claim 15, wherein the selected activity is ordering an item from thefirst establishment, and wherein the instructions instruct the at leastone hardware processor to: receive, via the communications module andfrom the server, an eighth transmission including at least one itemdescription, in the preferred language, of at least one item availablefor ordering at the first establishment; display the at least one itemdescription on the display; receive a selection of a first itemdescription; transmit, via the communications module and to the server,a ninth transmission indicating the selection of the first itemdescription; receive, via the communications module and from the server,a tenth transmission including a translated item description translatedfrom the preferred language to the foreign language; and display thetranslated item description on the display, for presentation to anemployee of the first establishment.
 19. The device of claim 15, whereinthe instructions instruct the at least one hardware processor tofacilitate payment to the first establishment for the selected activity.20. The device of claim 15, wherein the current context includes atleast one of time of day, time of year, or day of week.
 21. The systemof claim 1, wherein the geographic location corresponds to a geographicregion of a country and the foreign language corresponds to a foreignlanguage dialect used in the geographic region.
 22. The system of claim8, wherein the geographic location corresponds to a geographic region ofa country and the foreign language corresponds to a foreign languagedialect used in the geographic region.
 23. The device of claim 15,wherein the geographic location corresponds to a geographic region of acountry and the foreign language corresponds to a foreign languagedialect used in the geographic region.